Skip to content

refactor(storage): Migrate conformance tests to StorageTransport and enhance retry logic#7917

Open
thiyaguk09 wants to merge 76 commits into
googleapis:storage-node-18from
thiyaguk09:node18/conformance-test
Open

refactor(storage): Migrate conformance tests to StorageTransport and enhance retry logic#7917
thiyaguk09 wants to merge 76 commits into
googleapis:storage-node-18from
thiyaguk09:node18/conformance-test

Conversation

@thiyaguk09

Copy link
Copy Markdown
Contributor

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Make sure to open an issue as a bug/issue before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

@thiyaguk09 thiyaguk09 changed the title Refactor: Migrate conformance tests to StorageTransport and enhance retry logic refactor(storage): Migrate conformance tests to StorageTransport and enhance retry logic Apr 24, 2026
@thiyaguk09 thiyaguk09 force-pushed the node18/conformance-test branch 2 times, most recently from 5ff1473 to 585bbb5 Compare April 25, 2026 11:00
@thiyaguk09 thiyaguk09 changed the title refactor(storage): Migrate conformance tests to StorageTransport and enhance retry logic refactor(storage): Migrate conformance and system tests to StorageTransport with enhanced retry logic Apr 27, 2026
@thiyaguk09 thiyaguk09 changed the title refactor(storage): Migrate conformance and system tests to StorageTransport with enhanced retry logic refactor(storage): Migrate conformance tests to StorageTransport and enhance retry logic Apr 27, 2026
@thiyaguk09 thiyaguk09 marked this pull request as ready for review April 27, 2026 08:10
@thiyaguk09 thiyaguk09 requested review from a team as code owners April 27, 2026 08:10
@thiyaguk09 thiyaguk09 marked this pull request as draft April 27, 2026 09:51
@thiyaguk09 thiyaguk09 marked this pull request as draft April 27, 2026 09:51
@thiyaguk09 thiyaguk09 force-pushed the storage-node-18 branch 2 times, most recently from da2ee2d to b4ee48b Compare May 7, 2026 07:55
…ration

- Updated StorageTransport to properly handle Gaxios interceptors.
- Resolved type mismatches in response handlers for Node 18.
- Fixed surgical restore logic in system-tests.
@thiyaguk09 thiyaguk09 force-pushed the node18/conformance-test branch from 4a4b7ea to 7760a7d Compare May 12, 2026 09:57
- Updated conformance test expectations for Gaxios/Node 18 transport.
- Fixed header persistence issues during retry cycles.
- Aligned test infrastructure with storage-node-18 branch requirements.
…sport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18
…sport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18
…sport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18
…sport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18
…sport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18
…sport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18
@shivanee-p shivanee-p removed the request for review from a team June 22, 2026 21:52
thiyaguk09 and others added 3 commits June 23, 2026 06:25
…sport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18
* fix(storage): standardize URL formatting and enhance transport retry

* fix storage transport & retry issues

* fix

* Update handwritten/storage/src/file.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix(storage): interceptors test

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* feat: implement robust storage conformance test retry framework with request interception and test bench integration

* fix: correct response handler for binary/resumable uploads and improve etag check

- Updated `responseHandler` to correctly handle different payload types:
- Plain objects are mutated with `.headers` and `.status` and
returned.
- Binary payloads (Buffer/Stream) return raw data to prevent dangerous
mutations.
- Primitives (e.g., empty strings) return the full `GaxiosResponse`
wrapper to preserve access to headers like `Location` for resumable
upload initiation.
- Fixed `hasPrecondition` logic to safely parse stringified JSON or
inspect objects directly for an `etag` property. This prevents false
positives on raw text payloads containing the word "etag" and false
negatives on object payloads.

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* refactor(storage): replace constructor-based type checks with structural checks and decouple retry logic into idempotent and transient error utilities.

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* refactor(storage): update storage-transport to return full GaxiosResponse and align downstream resource methods

* fix: update file request URL construction to support custom protocol endpoints

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* refactor(storage): introduce ENCRYPTION_ALGORITHM_AES256 constant to replace hardcoded strings in File class

* fix(storage): merge request headers correctly in file.ts and add missing linting suppressions to ServiceObject

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* test: add bytes method to mock Gaxios responses in storage tests

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* test: add bytes method to mock Gaxios response in acl and headers tests

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* test: add bytes method to mock Gaxios response in acl and headers tests

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* test: add bytes method to mock Gaxios response in acl and headers tests

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* test: add bytes method to mock Gaxios response in acl and headers tests

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* fix(storage): standardize URL formatting and enhance transport retry

* refactor(storage): remove Service.ts and migrate logic to StorageTransport (googleapis#8283)

- Remove Service.ts and common.ts files from handwritten/storage

- Migrate remaining functionality to StorageTransport

- chore(ci): upgrade conformance tests to Node 18

* refactor: improve type safety and validation logic in isBucket helper function

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@thiyaguk09 thiyaguk09 marked this pull request as ready for review June 23, 2026 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant